------------------
dspaude 2007/06/02
------------------
* Apple's Technical Note TN2137 discusses Building Universal Binaries from
  "configure"-based Open Source Projects:
  - http://developer.apple.com/technotes/tn2005/tn2137.html
* Developing Cross-Platform UNIX Applications with Mac OS X:
  - http://developer.apple.com/unix/crossplatform.html

------------------
dspaude 2007/06/01
------------------
The following information relates to the Mac OS X GUI version of Flash Wizard:
* In March 2007 Soft Solutions, Inc. worked on creating a GUI version of Flash
  Wizard for Mac OS X that is fully contained in the application bundle (Flash
  Wizard.app).
* Flash Wizard.app can be installed anywhere on a Mac OS X system, but typically
  the application would be found in the "/Applications" folder.
* HEX files should be moved/copied to the "Flash Wizard" folder in
  the user's "~/Library/Application Support" folder.
  For example, my full path is:
  "/Users/dspaude/Library/Application Support/Flash Wizard".
* To update the Flash Wizard application files, simply right-click
  (or control-click) on the "Flash Wizard.app" icon and select "Show Package
  Contents". In the application bundle, navigate to "Contents/Resources".
  Replace, add, and/or remove the necessary files. Also be sure to increment the
  version number found in "Contents/Resources/SubVersion.txt". Test the
  updates as needed and then re-package the application bundle for distribution.
* Code changes for the Mac OS X GUI version of Flash Wizard may be done using
  Apple's Xcode development environment. Most of the work to date has been done
  using Xcode 2.4.1. The Xcode project is located in the "MacOSX" subdirectory
  and the project file is "FlashWizard.xcodeproj" (which itself is a bundle,
  meaning other file systems will see this "file" as a directory with files
  contained within it).


------------------
dspaude 2004/02/20
------------------
The following information relates to Mac OS X 10.3.x
(aclocal 1.6.3, autoconf 2.57, automake 1.6.3, gcc 3.3),
but likely also relates to other systems.

* Steps to generate Makefile:
  1) aclocal
  2) autoconf
  3) ./configure
  4) You are ready to use 'make' with the generated Makefile
  5) If there are any missing files that Makefile.am requires,
     then run the following to make the missing files:
     automake -a

* 'make' commands include:
  1) make clean
  2) make flashwiz
  3) make install

* Getting the following error means that some of the flashwiz
  components were not installed in DATADIR:
    pfl.cpp:127: failed assertion `hFile != osfl_kInvalidHandle'
    Abort trap
  If you are developing, then you may change DATADIR as found
  in Makefile or Makefile.am (assuming you won't run 'make install').


------------------
dspaude 2003/07/24
------------------
The following information relates to Mac OS X 10.1.5.

* For Mac OS X 10.1.x use 'gnumake' to make flashwiz.
  Use 'sudo gnumake install' to install the support files
  to /usr/local/share/flashwiz. Without installing these
  files FlashWiz will report an error for the gnumake build
  (FlashWiz is looking for Models.ini in the DATADIR
  directory).

  -- Sample output from 'gnumake':
  c++ -DHAVE_CONFIG_H -DDATADIR="\"/usr/local/share/flashwiz\""
      -DUNIX -Dscfg_kRunUnixOS -Dscfg_kHasFileSystem
      -Dscfg_kIsMultiTasking -Dscfg_kCommandLine -DDEBUG
      -g -O2 -c ursunix.cpp

  c++  -g -O2  -o flashwiz  clp.o commandline.o country.o
      dbg.o device.o devid.o flashinfo.o flsh.o fpro.o gn.o
      hexf.o hexfilename.o ll.o lucflsh.o mtch.o mya.o
      mystring.o options.o ospfl.o osunix.o pfl.o
      productbuild.o productmodel.o productversion.o
      rockflsh.o sorthex.o ursunix.o -lpthread -lpthread 


* You may also compile and clean using the old makefile using 'make':
  make -f Makefile_old clean
  make -f Makefile_old


  --Sample output from 'make':
  g++ -g -DDATADIR="\".\"" -DUNIX -Dscfg_kRunUnixOS
      -Dscfg_kHasFileSystem -Dscfg_kIsMultiTasking
      -Dscfg_kCommandLine -DDEBUG -o ursunix.o -c ursunix.cpp

  g++ -g  -DDATADIR="\".\"" -DUNIX -Dscfg_kRunUnixOS
      -Dscfg_kHasFileSystem -Dscfg_kIsMultiTasking
      -Dscfg_kCommandLine -DDEBUG -o flashwiz fpro.o clp.o
      country.o dbg.o    device.o devid.o flashinfo.o  flsh.o
      gn.o hexf.o hexfilename.o ll.o lucflsh.o mtch.o mya.o
      mystring.o ospfl.o osunix.o pfl.o productbuild.o
      productmodel.o productversion.o rockflsh.o sorthex.o
      ursunix.o commandline.o options.o -lpthread


* An example of updating the MT5634ZBA-USB is as follows. This
  example assumes the MT5634ZBA-USB is plugged directly into USB
  port 2 on the Mac (not on the keyboard--which doesn't provide
  enough power anyway--and not through a hub).

  ./flashwiz -f beqg827l.hex -m MT5634ZBA-USB -p /dev/tty.usbmodem012


  --If there are no serial ports on the Mac (no ttyS0,1,2,3,...),
    then you may need to create symlinks (ln -s) to the modem you
    wish to update (for example, a USB modem). FlashWiz by default
    just looks at the ttySn devices. Thus if there is a need for
    FlashWiz to search for available modems to flash (such as via
    GUI at some time in the future), then either modifying the code
    to support other devices or creating symlinks will need to be
    done. Such a command for a USB modem might look like this
    (assuming ttyS0 does not exist):

  sudo ln -s /dev/tty.usbmodem012 /dev/ttyS0
